// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import InfoClass from '@api/base/model/ScheduleSettingDto'
import API from './API'

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '', // 词语
    INFO: '', // 信息
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 小时
     */
    HOUR: Array(24).fill().map((_, i) => [(i + 1) * 1800000, ((i + 1) * 5 / 10).toFixed(1)]),

    /**
     * 分钟
     */
    MINUTE: Array(120).fill().map((_, i) => [(i + 1) * 60000, `${i + 1}`]),

    /**
     * 天数
     */
    DAY: Array(11).fill().map((_, i) => [i / 10, `${i / 10}`]),

    /**
     * 是否允许
     */
    ALLOW: [
      [1, '允许'],
      [2, '不允许'],
    ],
  },

  /**
   * 循环开关
   */
  loop: false,

  /**
   * 初始信息
   *
   * 1. 初始存在，才能响应
   * 2. setInfo() 合并时使用
   */
  INIT_INFO: CORE.initObj(InfoClass, {
    systemRule: 1, // 系统规则 1开启 2关闭 默认开启，留着备用的
    ordinaryRule: 1, // 普通上班规则 1开启 2关闭 默认开启，留着备用的
    status: 1, // 是否启用 1启用 2禁用
    allowLate: undefined, // 是否允许迟到 1允许 2不允许
    allowEarly: undefined, // 是否允许早退 1允许 2不允许
  }),
}
